package com.student.controller;

import com.student.model.XueSheng;
import com.student.service.XueShengService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.List;

@RestController
@RequestMapping("student")
public class XueShengController {
    @Autowired
    private XueShengService xueshengService;

    // 1. 按照学生的学号进行查询
    @GetMapping("getById")
    public XueSheng getXueShengById(@RequestParam("id") Integer stuId) {
        return xueshengService.getXueShengById(stuId);
    }

    // 2. 获取所有学生的信息
    @GetMapping("all")
    public List<XueSheng> getAllXueSheng() {
        return xueshengService.getAllXueSheng();
    }

    // 3. 查询所有学生的班级信息
    @GetMapping("classInfo")
    public List<XueSheng>  getAllXueShengClassInfo() {
        return xueshengService. getAllXueShengClassInfo();
    }

    // 4. 查询一个班级的所有学生信息
    @GetMapping("classStudents")
    public List<XueSheng> getXueShengsByClassId(@RequestParam("classId") Integer classId) {
        return xueshengService.getXueShengsByClassId(classId);
    }

    // 5. 插入一个学生的信息
    @PostMapping("insert")
    public int insertXueSheng(@RequestBody XueSheng xueSheng) {
        return xueshengService.insertXueSheng(xueSheng);
    }

    // 6. 修改一个学生的信息（通过学号）
    @PutMapping("put")
    public int updateXueShengInfo(@RequestBody XueSheng xueSheng) {
        return xueshengService. updateXueShengInfo(xueSheng);
    }

    // 7. 删除一个学生信息（通过学号）
    @DeleteMapping("delete")
    public int deleteXueShengById(@RequestParam("id") Integer stuId) {
        return xueshengService.deleteXueShengById(stuId);
    }

    // 8. 批量添加4个学生的信息
    @PostMapping("batchInsert")
    public int batchInsertXueShengs(@RequestBody List<XueSheng> list) {
        return xueshengService.batchInsertXueShengs(list);
    }

    // 9. 批量删除3个学生的信息
    @PostMapping("batchDelete")
    public int batchDeleteStudents(@RequestBody List<Integer> list) {
        return xueshengService.batchDeleteStudents(list);
    }
}